/*
 * Ejercicio realizado por Francisco Gonzalez-Armijo Riádigos
 * para la prueba de seleccion de http://www.nomasystems.es
 */

package es.kuassivi.android.cd.settings;

import android.content.Context;
import es.kuassivi.android.cd.R;

/**
 * Class Settings
 * Configuracion general de la aplicacion
 * 
 * @author kuassivi <a href="mailto:kuassivi@gmail.com">kuassivi@gmail.com</a>
 * @since 0.1
 */

public class Settings 
{ 
	
	/**
	 * @var String Formato por defecto de url hacia el servicio
	 */
	private static String DEFAULT_URL_FORMAT = "%s://%s:%s%s";
	
	/**
	 * @var Context
	 */
	private Context context;
	
	/**
	 * @param context Activity actual para el proposito de obtencion de recursos
	 */
	public Settings(Context context)
	{
		super();
		this.context = context;
	}
	
	/**
	 * Devuelve la url del servicio formateada
	 * 
	 * @return String 
	 */
	public String getServiceURL()
	{
		return createServiceURL();
	}  
	
	/**
	 * Crea el formato de url apropiado para conectarse al servidor REST
	 * <br />Los datos se extraen de res/values/strings.xml
	 * 
	 * @return String
	 */
	private String createServiceURL()
	{
		String servletProtocol 	= this.getFromRClass(R.string.servlet_protocol);
		
		String servletIP 		= this.getFromRClass(R.string.servlet_ip);
		
		String servletPort 		= this.getFromRClass(R.string.servlet_port);
		
		String servletPath 		= this.getFromRClass(R.string.servlet_path);
		
		String servletVersion 	= this.getFromRClass(R.string.servlet_version);
		
		String servletURI 		= servletPath.replace("{version}", servletVersion);
		
		String url 				= String.format(DEFAULT_URL_FORMAT, 
													servletProtocol, 
													servletIP, 
													servletPort, 
													servletURI );
				
		return url;
	}
	
	/**
	 * Obtiene el dato necesario del archivo string.xml
	 * <br />Se utiliza el Activity actual para acceder a la clase R
	 * 
	 * @param id
	 * @return String
	 */
	private String getFromRClass(int id)
	{
		String str = context.getResources().getString(id).toString();
		return str;
	}
	
}
